Modern software development is evolving away from the client-server model toward network-based processing systems that provide access to data and services via the Internet or other networks. In contrast to traditional systems that host networked applications on dedicated server hardware, a “cloud” computing model allows applications to be provided over the network “as a service” or “on-demand” by an infrastructure provider. The infrastructure provider typically abstracts the underlying hardware and other resources used to deliver a customer-developed application so that the customer no longer needs to operate and support dedicated server hardware. The cloud computing model can often provide substantial cost savings to the customer over the life of the application because the customer no longer needs to provide dedicated network infrastructure, electrical and temperature controls, physical security and other logistics in support of dedicated server hardware.
It is desirable to test new applications or web pages to be integrated therein prior to deployment to identify any potential problems in advance. However, as the complexity of web pages increases, the complexity of testing also increases. As a result, testing may fail to accurately emulate human users or require an excessive amount of time and resources when testing web page elements exhaustively. Accordingly, what is needed is an efficient means for testing web pages and related virtual applications in a manner that actually emulates human users.